#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <conio.h>
#include "Ropucha.hpp"
#include "Gra.hpp"
using namespace std;
Gra::Gra()
{
    gracze[0] = new Ropucha(0, 0, 100, true);
    gracze[1] = new Ropucha(10, 10, 100, true);
}

void Gra::rysuj()
{
    int static a=1;
    cout << setw(41) <<"Tura " << a++/2 << endl;
    Gra gra;
    cout<<setw(30);
    cout<<char(218);
    for(int i=20; i>=0; i--)
    cout<<char(196);
    cout<<char(191)<<endl;
    for(int i=15; i>=0; i--)
    {cout<<setw(30);
     cout<<char(179);
     for(int j=20; j>=0; j--)
      if(gra.gracze[0]->getY()==i && gra.gracze[0]->getX()==j){cout<<1;}else
      if(gra.gracze[1]->getY()==i && gra.gracze[1]->getX()==j){cout<<2;}else
      cout<<" ";
     cout<<char(179)<<endl;
    }
    cout<<setw(30);
    cout<<char(192);
    for(int i=20; i>=0; i--)
    cout<<char(196);
    cout<<char(217)<< endl;
}

void Gra::krok()
{
    Gra gra;
    gra.rysuj();
    char kierunek=0;
    bool cos = false;
    do
    {
    for(int i=0; i<2; i++)
    {
    kierunek=getch();
    if(kierunek>64 && kierunek<90)
    gra.gracze[i]->skok(kierunek);
    else
    gra.gracze[i]->krok(kierunek);
    system("cls");

    cout<<setw(44) << "Ruch gracza: " << i+1 <<endl;
    cout<<setw(40) << "Energia: " << gra.gracze[i]->getE()<<endl;
    cout<<setw(41) << "Pozycja: (" << gra.gracze[i]->getX() <<","<<gra.gracze[i]->getY()<<")\n\n";
    gra.rysuj();
    if(gra.gracze[i]->getE()<=0)
    {
        gra.gracze[i]->setIsAlive(cos);
    }
    if(!(gra.gracze[i]->getIsAlive()))
    {
        cout<<"Zielona ropucha zginela\n"; kierunek=27;
    }}
    }while(!(kierunek==27 || gra.gracze[0]->getIsAlive()==false || gra.gracze[1]->getIsAlive()==false));
}
